Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Built-in biome extraction and parsing #136

Closed
wants to merge 7 commits into from

Conversation

TerminatorNL
Copy link
Contributor

This PR adds loading of built-in biomes and makes them accessible in Rust. This includes both the Java and Rust segment and this PR makes #135 obsolete.

The names inside biome.rs are not optimal, but do work.

After this PR, the next one will be anvil file loading support

I was not able to include /out/biome.rs since it would make this commit message too long. You can find it here

@dyc3
Copy link
Collaborator

dyc3 commented Oct 24, 2022

I was not able to include /out/biome.rs

You should make a spoiler that contains the generated code: https://gist.github.com/jbsulli/03df3cdce94ee97937ebda0ffef28287

Copy link
Member

@rj00a rj00a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made some adjustments. However, there are some more changes I would like to see:

  • We should avoid making up our own categories like "weather" and "color". It ought to match the structure of to_biome_registry_item. (Weather should probably be called "climate" but I digress.)
  • The names of the generated types should also be consistent with the JSON. For instance, VanillaBiomeSpawnRates should be called BiomeSpawnSettings or something similar (maybe without the Biome prefix, idk)

@TerminatorNL
Copy link
Contributor Author

TerminatorNL commented Oct 24, 2022

That made a lot of sense! I actually did not notice valence already had a pretty well worked out biome.rs.

Edit: I could not add a spoiler last time, because it was 235 KB, and that does not fit in the initial message of a PR ;)

/out/biome.rs
use std::str::FromStr;

use super::{Biome, BiomeGrassColorModifier, BiomePrecipitation};
use crate::ident::{Ident, IdentError};
#[derive(Debug, Clone, PartialEq, PartialOrd)]
pub struct SpawnProperty {
    pub name: &'static str,
    pub min_group_size: u32,
    pub max_group_size: u32,
    pub weight: i32,
}
#[derive(Debug, Clone, PartialEq, PartialOrd)]
pub struct SpawnSettings {
    pub probability: f32,
    pub ambient: &'static [SpawnProperty],
    pub axolotls: &'static [SpawnProperty],
    pub creature: &'static [SpawnProperty],
    pub misc: &'static [SpawnProperty],
    pub monster: &'static [SpawnProperty],
    pub underground_water_creature: &'static [SpawnProperty],
    pub water_ambient: &'static [SpawnProperty],
    pub water_creature: &'static [SpawnProperty],
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum BiomeKind {
    TheVoid = 0isize,
    Plains = 1isize,
    SunflowerPlains = 2isize,
    SnowyPlains = 3isize,
    IceSpikes = 4isize,
    Desert = 5isize,
    Swamp = 6isize,
    MangroveSwamp = 7isize,
    Forest = 8isize,
    FlowerForest = 9isize,
    BirchForest = 10isize,
    DarkForest = 11isize,
    OldGrowthBirchForest = 12isize,
    OldGrowthPineTaiga = 13isize,
    OldGrowthSpruceTaiga = 14isize,
    Taiga = 15isize,
    SnowyTaiga = 16isize,
    Savanna = 17isize,
    SavannaPlateau = 18isize,
    WindsweptHills = 19isize,
    WindsweptGravellyHills = 20isize,
    WindsweptForest = 21isize,
    WindsweptSavanna = 22isize,
    Jungle = 23isize,
    SparseJungle = 24isize,
    BambooJungle = 25isize,
    Badlands = 26isize,
    ErodedBadlands = 27isize,
    WoodedBadlands = 28isize,
    Meadow = 29isize,
    Grove = 30isize,
    SnowySlopes = 31isize,
    FrozenPeaks = 32isize,
    JaggedPeaks = 33isize,
    StonyPeaks = 34isize,
    River = 35isize,
    FrozenRiver = 36isize,
    Beach = 37isize,
    SnowyBeach = 38isize,
    StonyShore = 39isize,
    WarmOcean = 40isize,
    LukewarmOcean = 41isize,
    DeepLukewarmOcean = 42isize,
    Ocean = 43isize,
    DeepOcean = 44isize,
    ColdOcean = 45isize,
    DeepColdOcean = 46isize,
    FrozenOcean = 47isize,
    DeepFrozenOcean = 48isize,
    MushroomFields = 49isize,
    DripstoneCaves = 50isize,
    LushCaves = 51isize,
    DeepDark = 52isize,
    NetherWastes = 53isize,
    WarpedForest = 54isize,
    CrimsonForest = 55isize,
    SoulSandValley = 56isize,
    BasaltDeltas = 57isize,
    TheEnd = 58isize,
    EndHighlands = 59isize,
    EndMidlands = 60isize,
    SmallEndIslands = 61isize,
    EndBarrens = 62isize,
}
impl BiomeKind {
    #[doc = r" Constructs an `BiomeKind` from a raw biome ID."]
    #[doc = r""]
    #[doc = r" If the given ID is invalid, `None` is returned."]
    pub const fn from_raw(id: u16) -> Option<Self> {
        match id {
            0u16 => Some(Self::TheVoid),
            1u16 => Some(Self::Plains),
            2u16 => Some(Self::SunflowerPlains),
            3u16 => Some(Self::SnowyPlains),
            4u16 => Some(Self::IceSpikes),
            5u16 => Some(Self::Desert),
            6u16 => Some(Self::Swamp),
            7u16 => Some(Self::MangroveSwamp),
            8u16 => Some(Self::Forest),
            9u16 => Some(Self::FlowerForest),
            10u16 => Some(Self::BirchForest),
            11u16 => Some(Self::DarkForest),
            12u16 => Some(Self::OldGrowthBirchForest),
            13u16 => Some(Self::OldGrowthPineTaiga),
            14u16 => Some(Self::OldGrowthSpruceTaiga),
            15u16 => Some(Self::Taiga),
            16u16 => Some(Self::SnowyTaiga),
            17u16 => Some(Self::Savanna),
            18u16 => Some(Self::SavannaPlateau),
            19u16 => Some(Self::WindsweptHills),
            20u16 => Some(Self::WindsweptGravellyHills),
            21u16 => Some(Self::WindsweptForest),
            22u16 => Some(Self::WindsweptSavanna),
            23u16 => Some(Self::Jungle),
            24u16 => Some(Self::SparseJungle),
            25u16 => Some(Self::BambooJungle),
            26u16 => Some(Self::Badlands),
            27u16 => Some(Self::ErodedBadlands),
            28u16 => Some(Self::WoodedBadlands),
            29u16 => Some(Self::Meadow),
            30u16 => Some(Self::Grove),
            31u16 => Some(Self::SnowySlopes),
            32u16 => Some(Self::FrozenPeaks),
            33u16 => Some(Self::JaggedPeaks),
            34u16 => Some(Self::StonyPeaks),
            35u16 => Some(Self::River),
            36u16 => Some(Self::FrozenRiver),
            37u16 => Some(Self::Beach),
            38u16 => Some(Self::SnowyBeach),
            39u16 => Some(Self::StonyShore),
            40u16 => Some(Self::WarmOcean),
            41u16 => Some(Self::LukewarmOcean),
            42u16 => Some(Self::DeepLukewarmOcean),
            43u16 => Some(Self::Ocean),
            44u16 => Some(Self::DeepOcean),
            45u16 => Some(Self::ColdOcean),
            46u16 => Some(Self::DeepColdOcean),
            47u16 => Some(Self::FrozenOcean),
            48u16 => Some(Self::DeepFrozenOcean),
            49u16 => Some(Self::MushroomFields),
            50u16 => Some(Self::DripstoneCaves),
            51u16 => Some(Self::LushCaves),
            52u16 => Some(Self::DeepDark),
            53u16 => Some(Self::NetherWastes),
            54u16 => Some(Self::WarpedForest),
            55u16 => Some(Self::CrimsonForest),
            56u16 => Some(Self::SoulSandValley),
            57u16 => Some(Self::BasaltDeltas),
            58u16 => Some(Self::TheEnd),
            59u16 => Some(Self::EndHighlands),
            60u16 => Some(Self::EndMidlands),
            61u16 => Some(Self::SmallEndIslands),
            62u16 => Some(Self::EndBarrens),
            _ => None,
        }
    }
    #[doc = r" Returns the raw biome ID."]
    pub const fn to_raw(self) -> u16 {
        self as u16
    }
    pub fn from_ident<S: AsRef<str>>(ident: &Ident<S>) -> Option<Self> {
        if ident.namespace() != "minecraft" {
            return None;
        }
        match ident.path() {
            "the_void" => Some(Self::TheVoid),
            "plains" => Some(Self::Plains),
            "sunflower_plains" => Some(Self::SunflowerPlains),
            "snowy_plains" => Some(Self::SnowyPlains),
            "ice_spikes" => Some(Self::IceSpikes),
            "desert" => Some(Self::Desert),
            "swamp" => Some(Self::Swamp),
            "mangrove_swamp" => Some(Self::MangroveSwamp),
            "forest" => Some(Self::Forest),
            "flower_forest" => Some(Self::FlowerForest),
            "birch_forest" => Some(Self::BirchForest),
            "dark_forest" => Some(Self::DarkForest),
            "old_growth_birch_forest" => Some(Self::OldGrowthBirchForest),
            "old_growth_pine_taiga" => Some(Self::OldGrowthPineTaiga),
            "old_growth_spruce_taiga" => Some(Self::OldGrowthSpruceTaiga),
            "taiga" => Some(Self::Taiga),
            "snowy_taiga" => Some(Self::SnowyTaiga),
            "savanna" => Some(Self::Savanna),
            "savanna_plateau" => Some(Self::SavannaPlateau),
            "windswept_hills" => Some(Self::WindsweptHills),
            "windswept_gravelly_hills" => Some(Self::WindsweptGravellyHills),
            "windswept_forest" => Some(Self::WindsweptForest),
            "windswept_savanna" => Some(Self::WindsweptSavanna),
            "jungle" => Some(Self::Jungle),
            "sparse_jungle" => Some(Self::SparseJungle),
            "bamboo_jungle" => Some(Self::BambooJungle),
            "badlands" => Some(Self::Badlands),
            "eroded_badlands" => Some(Self::ErodedBadlands),
            "wooded_badlands" => Some(Self::WoodedBadlands),
            "meadow" => Some(Self::Meadow),
            "grove" => Some(Self::Grove),
            "snowy_slopes" => Some(Self::SnowySlopes),
            "frozen_peaks" => Some(Self::FrozenPeaks),
            "jagged_peaks" => Some(Self::JaggedPeaks),
            "stony_peaks" => Some(Self::StonyPeaks),
            "river" => Some(Self::River),
            "frozen_river" => Some(Self::FrozenRiver),
            "beach" => Some(Self::Beach),
            "snowy_beach" => Some(Self::SnowyBeach),
            "stony_shore" => Some(Self::StonyShore),
            "warm_ocean" => Some(Self::WarmOcean),
            "lukewarm_ocean" => Some(Self::LukewarmOcean),
            "deep_lukewarm_ocean" => Some(Self::DeepLukewarmOcean),
            "ocean" => Some(Self::Ocean),
            "deep_ocean" => Some(Self::DeepOcean),
            "cold_ocean" => Some(Self::ColdOcean),
            "deep_cold_ocean" => Some(Self::DeepColdOcean),
            "frozen_ocean" => Some(Self::FrozenOcean),
            "deep_frozen_ocean" => Some(Self::DeepFrozenOcean),
            "mushroom_fields" => Some(Self::MushroomFields),
            "dripstone_caves" => Some(Self::DripstoneCaves),
            "lush_caves" => Some(Self::LushCaves),
            "deep_dark" => Some(Self::DeepDark),
            "nether_wastes" => Some(Self::NetherWastes),
            "warped_forest" => Some(Self::WarpedForest),
            "crimson_forest" => Some(Self::CrimsonForest),
            "soul_sand_valley" => Some(Self::SoulSandValley),
            "basalt_deltas" => Some(Self::BasaltDeltas),
            "the_end" => Some(Self::TheEnd),
            "end_highlands" => Some(Self::EndHighlands),
            "end_midlands" => Some(Self::EndMidlands),
            "small_end_islands" => Some(Self::SmallEndIslands),
            "end_barrens" => Some(Self::EndBarrens),
            _ => None,
        }
    }
    pub fn biome(self) -> Result<Biome, IdentError<String>> {
        match self {
            Self::TheVoid => Ok(Biome {
                name: Ident::from_str("the_void")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Plains => Ok(Biome {
                name: Ident::from_str("plains")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SunflowerPlains => Ok(Biome {
                name: Ident::from_str("sunflower_plains")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SnowyPlains => Ok(Biome {
                name: Ident::from_str("snowy_plains")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8364543u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::IceSpikes => Ok(Biome {
                name: Ident::from_str("ice_spikes")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8364543u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Desert => Ok(Biome {
                name: Ident::from_str("desert")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Swamp => Ok(Biome {
                name: Ident::from_str("swamp")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 2302743u32,
                fog_color: 12638463u32,
                water_color: 6388580u32,
                foliage_color: Some(6975545u32),
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::Swamp,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::MangroveSwamp => Ok(Biome {
                name: Ident::from_str("mangrove_swamp")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 5077600u32,
                fog_color: 12638463u32,
                water_color: 3832426u32,
                foliage_color: Some(9285927u32),
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::Swamp,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Forest => Ok(Biome {
                name: Ident::from_str("forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7972607u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::FlowerForest => Ok(Biome {
                name: Ident::from_str("flower_forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7972607u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::BirchForest => Ok(Biome {
                name: Ident::from_str("birch_forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8037887u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DarkForest => Ok(Biome {
                name: Ident::from_str("dark_forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7972607u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::DarkForest,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::OldGrowthBirchForest => Ok(Biome {
                name: Ident::from_str("old_growth_birch_forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8037887u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::OldGrowthPineTaiga => Ok(Biome {
                name: Ident::from_str("old_growth_pine_taiga")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8168447u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::OldGrowthSpruceTaiga => Ok(Biome {
                name: Ident::from_str("old_growth_spruce_taiga")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233983u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Taiga => Ok(Biome {
                name: Ident::from_str("taiga")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233983u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SnowyTaiga => Ok(Biome {
                name: Ident::from_str("snowy_taiga")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8625919u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4020182u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Savanna => Ok(Biome {
                name: Ident::from_str("savanna")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SavannaPlateau => Ok(Biome {
                name: Ident::from_str("savanna_plateau")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WindsweptHills => Ok(Biome {
                name: Ident::from_str("windswept_hills")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233727u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WindsweptGravellyHills => Ok(Biome {
                name: Ident::from_str("windswept_gravelly_hills")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233727u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WindsweptForest => Ok(Biome {
                name: Ident::from_str("windswept_forest")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233727u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WindsweptSavanna => Ok(Biome {
                name: Ident::from_str("windswept_savanna")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Jungle => Ok(Biome {
                name: Ident::from_str("jungle")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7842047u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SparseJungle => Ok(Biome {
                name: Ident::from_str("sparse_jungle")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7842047u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::BambooJungle => Ok(Biome {
                name: Ident::from_str("bamboo_jungle")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7842047u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Badlands => Ok(Biome {
                name: Ident::from_str("badlands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: Some(10387789u32),
                grass_color: Some(9470285u32),
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::ErodedBadlands => Ok(Biome {
                name: Ident::from_str("eroded_badlands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: Some(10387789u32),
                grass_color: Some(9470285u32),
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WoodedBadlands => Ok(Biome {
                name: Ident::from_str("wooded_badlands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: Some(10387789u32),
                grass_color: Some(9470285u32),
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Meadow => Ok(Biome {
                name: Ident::from_str("meadow")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 937679u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Grove => Ok(Biome {
                name: Ident::from_str("grove")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8495359u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SnowySlopes => Ok(Biome {
                name: Ident::from_str("snowy_slopes")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8560639u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::FrozenPeaks => Ok(Biome {
                name: Ident::from_str("frozen_peaks")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8756735u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::JaggedPeaks => Ok(Biome {
                name: Ident::from_str("jagged_peaks")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8756735u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::StonyPeaks => Ok(Biome {
                name: Ident::from_str("stony_peaks")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7776511u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::River => Ok(Biome {
                name: Ident::from_str("river")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::FrozenRiver => Ok(Biome {
                name: Ident::from_str("frozen_river")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8364543u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 3750089u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Beach => Ok(Biome {
                name: Ident::from_str("beach")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SnowyBeach => Ok(Biome {
                name: Ident::from_str("snowy_beach")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8364543u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4020182u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::StonyShore => Ok(Biome {
                name: Ident::from_str("stony_shore")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8233727u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WarmOcean => Ok(Biome {
                name: Ident::from_str("warm_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 270131u32,
                fog_color: 12638463u32,
                water_color: 4445678u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::LukewarmOcean => Ok(Biome {
                name: Ident::from_str("lukewarm_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 267827u32,
                fog_color: 12638463u32,
                water_color: 4566514u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DeepLukewarmOcean => Ok(Biome {
                name: Ident::from_str("deep_lukewarm_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 267827u32,
                fog_color: 12638463u32,
                water_color: 4566514u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::Ocean => Ok(Biome {
                name: Ident::from_str("ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DeepOcean => Ok(Biome {
                name: Ident::from_str("deep_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::ColdOcean => Ok(Biome {
                name: Ident::from_str("cold_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4020182u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DeepColdOcean => Ok(Biome {
                name: Ident::from_str("deep_cold_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4020182u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::FrozenOcean => Ok(Biome {
                name: Ident::from_str("frozen_ocean")?,
                precipitation: BiomePrecipitation::Snow,
                sky_color: 8364543u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 3750089u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DeepFrozenOcean => Ok(Biome {
                name: Ident::from_str("deep_frozen_ocean")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 3750089u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::MushroomFields => Ok(Biome {
                name: Ident::from_str("mushroom_fields")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7842047u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DripstoneCaves => Ok(Biome {
                name: Ident::from_str("dripstone_caves")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::LushCaves => Ok(Biome {
                name: Ident::from_str("lush_caves")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 8103167u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::DeepDark => Ok(Biome {
                name: Ident::from_str("deep_dark")?,
                precipitation: BiomePrecipitation::Rain,
                sky_color: 7907327u32,
                water_fog_color: 329011u32,
                fog_color: 12638463u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::NetherWastes => Ok(Biome {
                name: Ident::from_str("nether_wastes")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 3344392u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::WarpedForest => Ok(Biome {
                name: Ident::from_str("warped_forest")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 1705242u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::CrimsonForest => Ok(Biome {
                name: Ident::from_str("crimson_forest")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 3343107u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SoulSandValley => Ok(Biome {
                name: Ident::from_str("soul_sand_valley")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 1787717u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::BasaltDeltas => Ok(Biome {
                name: Ident::from_str("basalt_deltas")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 7254527u32,
                water_fog_color: 329011u32,
                fog_color: 6840176u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::TheEnd => Ok(Biome {
                name: Ident::from_str("the_end")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 0u32,
                water_fog_color: 329011u32,
                fog_color: 10518688u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::EndHighlands => Ok(Biome {
                name: Ident::from_str("end_highlands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 0u32,
                water_fog_color: 329011u32,
                fog_color: 10518688u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::EndMidlands => Ok(Biome {
                name: Ident::from_str("end_midlands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 0u32,
                water_fog_color: 329011u32,
                fog_color: 10518688u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::SmallEndIslands => Ok(Biome {
                name: Ident::from_str("small_end_islands")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 0u32,
                water_fog_color: 329011u32,
                fog_color: 10518688u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
            Self::EndBarrens => Ok(Biome {
                name: Ident::from_str("end_barrens")?,
                precipitation: BiomePrecipitation::None,
                sky_color: 0u32,
                water_fog_color: 329011u32,
                fog_color: 10518688u32,
                water_color: 4159204u32,
                foliage_color: None,
                grass_color: None,
                grass_color_modifier: BiomeGrassColorModifier::None,
                music: None,
                ambient_sound: None,
                additions_sound: None,
                mood_sound: None,
                particle: None,
            }),
        }
    }
    #[doc = r" Gets the biome spawn rates"]
    pub const fn spawn_rates(self) -> SpawnSettings {
        match self {
            Self::TheVoid => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                water_ambient: &[],
                monster: &[],
                ambient: &[],
                water_creature: &[],
                underground_water_creature: &[],
                creature: &[],
                axolotls: &[],
            },
            Self::Plains => SpawnSettings {
                probability: 0.1f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "horse",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 1i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                axolotls: &[],
                water_creature: &[],
            },
            Self::SunflowerPlains => SpawnSettings {
                probability: 0.1f32,
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "horse",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 1i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
            },
            Self::SnowyPlains => SpawnSettings {
                probability: 0.07f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 20i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "stray",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 80i32,
                    },
                ],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "polar_bear",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                ],
                axolotls: &[],
                water_creature: &[],
                water_ambient: &[],
            },
            Self::IceSpikes => SpawnSettings {
                probability: 0.07f32,
                creature: &[
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "polar_bear",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 20i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "stray",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 80i32,
                    },
                ],
                axolotls: &[],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[],
            },
            Self::Desert => SpawnSettings {
                probability: 0.1f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 19i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "husk",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 80i32,
                    },
                ],
                water_ambient: &[],
                creature: &[SpawnProperty {
                    name: "rabbit",
                    min_group_size: 2u32,
                    max_group_size: 3u32,
                    weight: 4i32,
                }],
                misc: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[],
            },
            Self::Swamp => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "frog",
                        min_group_size: 2u32,
                        max_group_size: 5u32,
                        weight: 10i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                ],
                misc: &[],
                water_creature: &[],
                axolotls: &[],
            },
            Self::MangroveSwamp => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                water_ambient: &[SpawnProperty {
                    name: "tropical_fish",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 25i32,
                }],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                axolotls: &[],
                creature: &[SpawnProperty {
                    name: "frog",
                    min_group_size: 2u32,
                    max_group_size: 5u32,
                    weight: 10i32,
                }],
            },
            Self::Forest => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 5i32,
                    },
                ],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
            },
            Self::FlowerForest => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                ],
                misc: &[],
                axolotls: &[],
                water_creature: &[],
            },
            Self::BirchForest => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_creature: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                misc: &[],
                axolotls: &[],
            },
            Self::DarkForest => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_creature: &[],
                axolotls: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
            },
            Self::OldGrowthBirchForest => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                water_ambient: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                axolotls: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::OldGrowthPineTaiga => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                water_creature: &[],
                misc: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "fox",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 25i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
            },
            Self::OldGrowthSpruceTaiga => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                water_ambient: &[],
                misc: &[],
                axolotls: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "fox",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::Taiga => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                water_creature: &[],
                misc: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "fox",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
            },
            Self::SnowyTaiga => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "fox",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_creature: &[],
            },
            Self::Savanna => SpawnSettings {
                probability: 0.1f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                misc: &[],
                water_ambient: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "horse",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                ],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
            },
            Self::SavannaPlateau => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "horse",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "llama",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                water_creature: &[],
            },
            Self::WindsweptHills => SpawnSettings {
                probability: 0.1f32,
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "llama",
                        min_group_size: 4u32,
                        max_group_size: 6u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
            },
            Self::WindsweptGravellyHills => SpawnSettings {
                probability: 0.1f32,
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "llama",
                        min_group_size: 4u32,
                        max_group_size: 6u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                misc: &[],
                water_creature: &[],
            },
            Self::WindsweptForest => SpawnSettings {
                probability: 0.1f32,
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "llama",
                        min_group_size: 4u32,
                        max_group_size: 6u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_creature: &[],
                axolotls: &[],
            },
            Self::WindsweptSavanna => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                axolotls: &[],
                water_creature: &[],
                misc: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "horse",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::Jungle => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                axolotls: &[],
                water_creature: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "ocelot",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 2i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "parrot",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 40i32,
                    },
                    SpawnProperty {
                        name: "panda",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                ],
                misc: &[],
            },
            Self::SparseJungle => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                water_ambient: &[],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                misc: &[],
            },
            Self::BambooJungle => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_creature: &[],
                axolotls: &[],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "ocelot",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 2i32,
                    },
                ],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "parrot",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 40i32,
                    },
                    SpawnProperty {
                        name: "panda",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 80i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::Badlands => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                creature: &[],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
            },
            Self::ErodedBadlands => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                creature: &[],
                axolotls: &[],
                water_ambient: &[],
                water_creature: &[],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::WoodedBadlands => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_creature: &[],
                water_ambient: &[],
                misc: &[],
            },
            Self::Meadow => SpawnSettings {
                probability: 0.1f32,
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                misc: &[],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[
                    SpawnProperty {
                        name: "donkey",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 6u32,
                        weight: 2i32,
                    },
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 2i32,
                    },
                ],
                water_creature: &[],
            },
            Self::Grove => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                creature: &[
                    SpawnProperty {
                        name: "sheep",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 12i32,
                    },
                    SpawnProperty {
                        name: "pig",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "chicken",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "cow",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "wolf",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "fox",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                ],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
            },
            Self::SnowySlopes => SpawnSettings {
                probability: 0.1f32,
                creature: &[
                    SpawnProperty {
                        name: "rabbit",
                        min_group_size: 2u32,
                        max_group_size: 3u32,
                        weight: 4i32,
                    },
                    SpawnProperty {
                        name: "goat",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 5i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                misc: &[],
                axolotls: &[],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
            },
            Self::FrozenPeaks => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                creature: &[SpawnProperty {
                    name: "goat",
                    min_group_size: 1u32,
                    max_group_size: 3u32,
                    weight: 5i32,
                }],
                water_ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                axolotls: &[],
            },
            Self::JaggedPeaks => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                misc: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                creature: &[SpawnProperty {
                    name: "goat",
                    min_group_size: 1u32,
                    max_group_size: 3u32,
                    weight: 5i32,
                }],
            },
            Self::StonyPeaks => SpawnSettings {
                probability: 0.1f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                creature: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                axolotls: &[],
                misc: &[],
                water_creature: &[],
            },
            Self::River => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                water_ambient: &[SpawnProperty {
                    name: "salmon",
                    min_group_size: 1u32,
                    max_group_size: 5u32,
                    weight: 5i32,
                }],
                misc: &[],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 100i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 2i32,
                }],
            },
            Self::FrozenRiver => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[SpawnProperty {
                    name: "salmon",
                    min_group_size: 1u32,
                    max_group_size: 5u32,
                    weight: 5i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 1i32,
                    },
                ],
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 2i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[],
                misc: &[],
            },
            Self::Beach => SpawnSettings {
                probability: 0.1f32,
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                creature: &[SpawnProperty {
                    name: "turtle",
                    min_group_size: 2u32,
                    max_group_size: 5u32,
                    weight: 5i32,
                }],
                axolotls: &[],
                misc: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                water_creature: &[],
            },
            Self::SnowyBeach => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                creature: &[],
                water_creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                misc: &[],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
            },
            Self::StonyShore => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                creature: &[],
                axolotls: &[],
            },
            Self::WarmOcean => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_ambient: &[
                    SpawnProperty {
                        name: "pufferfish",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 15i32,
                    },
                    SpawnProperty {
                        name: "tropical_fish",
                        min_group_size: 8u32,
                        max_group_size: 8u32,
                        weight: 25i32,
                    },
                ],
                water_creature: &[
                    SpawnProperty {
                        name: "squid",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "dolphin",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 2i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
            },
            Self::LukewarmOcean => SpawnSettings {
                probability: 0.1f32,
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[
                    SpawnProperty {
                        name: "cod",
                        min_group_size: 3u32,
                        max_group_size: 6u32,
                        weight: 15i32,
                    },
                    SpawnProperty {
                        name: "pufferfish",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "tropical_fish",
                        min_group_size: 8u32,
                        max_group_size: 8u32,
                        weight: 25i32,
                    },
                ],
                misc: &[],
                creature: &[],
                water_creature: &[
                    SpawnProperty {
                        name: "squid",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "dolphin",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 2i32,
                    },
                ],
                axolotls: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
            },
            Self::DeepLukewarmOcean => SpawnSettings {
                probability: 0.1f32,
                axolotls: &[],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                water_creature: &[
                    SpawnProperty {
                        name: "squid",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "dolphin",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 2i32,
                    },
                ],
                creature: &[],
                water_ambient: &[
                    SpawnProperty {
                        name: "cod",
                        min_group_size: 3u32,
                        max_group_size: 6u32,
                        weight: 8i32,
                    },
                    SpawnProperty {
                        name: "pufferfish",
                        min_group_size: 1u32,
                        max_group_size: 3u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "tropical_fish",
                        min_group_size: 8u32,
                        max_group_size: 8u32,
                        weight: 25i32,
                    },
                ],
            },
            Self::Ocean => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[SpawnProperty {
                    name: "cod",
                    min_group_size: 3u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                axolotls: &[],
                water_creature: &[
                    SpawnProperty {
                        name: "squid",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "dolphin",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                ],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[],
                misc: &[],
            },
            Self::DeepOcean => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                water_creature: &[
                    SpawnProperty {
                        name: "squid",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "dolphin",
                        min_group_size: 1u32,
                        max_group_size: 2u32,
                        weight: 1i32,
                    },
                ],
                water_ambient: &[SpawnProperty {
                    name: "cod",
                    min_group_size: 3u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                axolotls: &[],
            },
            Self::ColdOcean => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 3i32,
                }],
                water_ambient: &[
                    SpawnProperty {
                        name: "cod",
                        min_group_size: 3u32,
                        max_group_size: 6u32,
                        weight: 15i32,
                    },
                    SpawnProperty {
                        name: "salmon",
                        min_group_size: 1u32,
                        max_group_size: 5u32,
                        weight: 15i32,
                    },
                ],
                misc: &[],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::DeepColdOcean => SpawnSettings {
                probability: 0.1f32,
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                misc: &[],
                water_ambient: &[
                    SpawnProperty {
                        name: "cod",
                        min_group_size: 3u32,
                        max_group_size: 6u32,
                        weight: 15i32,
                    },
                    SpawnProperty {
                        name: "salmon",
                        min_group_size: 1u32,
                        max_group_size: 5u32,
                        weight: 15i32,
                    },
                ],
                creature: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 3i32,
                }],
                axolotls: &[],
            },
            Self::FrozenOcean => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 1i32,
                }],
                water_ambient: &[SpawnProperty {
                    name: "salmon",
                    min_group_size: 1u32,
                    max_group_size: 5u32,
                    weight: 15i32,
                }],
                creature: &[SpawnProperty {
                    name: "polar_bear",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 1i32,
                }],
                axolotls: &[],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::DeepFrozenOcean => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[SpawnProperty {
                    name: "squid",
                    min_group_size: 1u32,
                    max_group_size: 4u32,
                    weight: 1i32,
                }],
                misc: &[],
                axolotls: &[],
                water_ambient: &[SpawnProperty {
                    name: "salmon",
                    min_group_size: 1u32,
                    max_group_size: 5u32,
                    weight: 15i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                creature: &[SpawnProperty {
                    name: "polar_bear",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 1i32,
                }],
            },
            Self::MushroomFields => SpawnSettings {
                probability: 0.1f32,
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[],
                creature: &[SpawnProperty {
                    name: "mooshroom",
                    min_group_size: 4u32,
                    max_group_size: 8u32,
                    weight: 8i32,
                }],
                axolotls: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                misc: &[],
                water_ambient: &[],
            },
            Self::DripstoneCaves => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                creature: &[],
                axolotls: &[],
                water_ambient: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "drowned",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                ],
            },
            Self::LushCaves => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                misc: &[],
                underground_water_creature: &[SpawnProperty {
                    name: "glow_squid",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
                monster: &[
                    SpawnProperty {
                        name: "spider",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "zombie",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 95i32,
                    },
                    SpawnProperty {
                        name: "zombie_villager",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "creeper",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "slime",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 1u32,
                        max_group_size: 4u32,
                        weight: 10i32,
                    },
                    SpawnProperty {
                        name: "witch",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 5i32,
                    },
                ],
                water_ambient: &[SpawnProperty {
                    name: "tropical_fish",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 25i32,
                }],
                ambient: &[SpawnProperty {
                    name: "bat",
                    min_group_size: 8u32,
                    max_group_size: 8u32,
                    weight: 10i32,
                }],
                water_creature: &[],
                axolotls: &[SpawnProperty {
                    name: "axolotl",
                    min_group_size: 4u32,
                    max_group_size: 6u32,
                    weight: 10i32,
                }],
            },
            Self::DeepDark => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                monster: &[],
                water_ambient: &[],
                water_creature: &[],
                creature: &[],
                axolotls: &[],
                ambient: &[],
                underground_water_creature: &[],
            },
            Self::NetherWastes => SpawnSettings {
                probability: 0.1f32,
                water_ambient: &[],
                underground_water_creature: &[],
                axolotls: &[],
                ambient: &[],
                creature: &[SpawnProperty {
                    name: "strider",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 60i32,
                }],
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "ghast",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 50i32,
                    },
                    SpawnProperty {
                        name: "zombified_piglin",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 100i32,
                    },
                    SpawnProperty {
                        name: "magma_cube",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 2i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "piglin",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 15i32,
                    },
                ],
                water_creature: &[],
            },
            Self::WarpedForest => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                underground_water_creature: &[],
                water_creature: &[],
                ambient: &[],
                water_ambient: &[],
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 1i32,
                }],
                creature: &[SpawnProperty {
                    name: "strider",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 60i32,
                }],
                axolotls: &[],
            },
            Self::CrimsonForest => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[],
                axolotls: &[],
                underground_water_creature: &[],
                water_ambient: &[],
                creature: &[SpawnProperty {
                    name: "strider",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 60i32,
                }],
                ambient: &[],
                monster: &[
                    SpawnProperty {
                        name: "zombified_piglin",
                        min_group_size: 2u32,
                        max_group_size: 4u32,
                        weight: 1i32,
                    },
                    SpawnProperty {
                        name: "hoglin",
                        min_group_size: 3u32,
                        max_group_size: 4u32,
                        weight: 9i32,
                    },
                    SpawnProperty {
                        name: "piglin",
                        min_group_size: 3u32,
                        max_group_size: 4u32,
                        weight: 5i32,
                    },
                ],
                misc: &[],
            },
            Self::SoulSandValley => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                monster: &[
                    SpawnProperty {
                        name: "skeleton",
                        min_group_size: 5u32,
                        max_group_size: 5u32,
                        weight: 20i32,
                    },
                    SpawnProperty {
                        name: "ghast",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 50i32,
                    },
                    SpawnProperty {
                        name: "enderman",
                        min_group_size: 4u32,
                        max_group_size: 4u32,
                        weight: 1i32,
                    },
                ],
                ambient: &[],
                creature: &[SpawnProperty {
                    name: "strider",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 60i32,
                }],
                water_creature: &[],
                underground_water_creature: &[],
                axolotls: &[],
                water_ambient: &[],
            },
            Self::BasaltDeltas => SpawnSettings {
                probability: 0.1f32,
                creature: &[SpawnProperty {
                    name: "strider",
                    min_group_size: 1u32,
                    max_group_size: 2u32,
                    weight: 60i32,
                }],
                water_ambient: &[],
                axolotls: &[],
                monster: &[
                    SpawnProperty {
                        name: "ghast",
                        min_group_size: 1u32,
                        max_group_size: 1u32,
                        weight: 40i32,
                    },
                    SpawnProperty {
                        name: "magma_cube",
                        min_group_size: 2u32,
                        max_group_size: 5u32,
                        weight: 100i32,
                    },
                ],
                ambient: &[],
                underground_water_creature: &[],
                misc: &[],
                water_creature: &[],
            },
            Self::TheEnd => SpawnSettings {
                probability: 0.1f32,
                creature: &[],
                ambient: &[],
                misc: &[],
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 10i32,
                }],
                underground_water_creature: &[],
                water_ambient: &[],
                axolotls: &[],
                water_creature: &[],
            },
            Self::EndHighlands => SpawnSettings {
                probability: 0.1f32,
                misc: &[],
                water_creature: &[],
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 10i32,
                }],
                creature: &[],
                axolotls: &[],
                underground_water_creature: &[],
                water_ambient: &[],
                ambient: &[],
            },
            Self::EndMidlands => SpawnSettings {
                probability: 0.1f32,
                ambient: &[],
                creature: &[],
                axolotls: &[],
                water_creature: &[],
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 10i32,
                }],
                water_ambient: &[],
                misc: &[],
                underground_water_creature: &[],
            },
            Self::SmallEndIslands => SpawnSettings {
                probability: 0.1f32,
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 10i32,
                }],
                ambient: &[],
                creature: &[],
                axolotls: &[],
                water_ambient: &[],
                underground_water_creature: &[],
                water_creature: &[],
                misc: &[],
            },
            Self::EndBarrens => SpawnSettings {
                probability: 0.1f32,
                water_creature: &[],
                ambient: &[],
                misc: &[],
                creature: &[],
                water_ambient: &[],
                monster: &[SpawnProperty {
                    name: "enderman",
                    min_group_size: 4u32,
                    max_group_size: 4u32,
                    weight: 10i32,
                }],
                axolotls: &[],
                underground_water_creature: &[],
            },
        }
    }
    pub const fn temperature(self) -> f32 {
        match self {
            Self::TheVoid => 0.5f32,
            Self::Plains => 0.8f32,
            Self::SunflowerPlains => 0.8f32,
            Self::SnowyPlains => 0f32,
            Self::IceSpikes => 0f32,
            Self::Desert => 2f32,
            Self::Swamp => 0.8f32,
            Self::MangroveSwamp => 0.8f32,
            Self::Forest => 0.7f32,
            Self::FlowerForest => 0.7f32,
            Self::BirchForest => 0.6f32,
            Self::DarkForest => 0.7f32,
            Self::OldGrowthBirchForest => 0.6f32,
            Self::OldGrowthPineTaiga => 0.3f32,
            Self::OldGrowthSpruceTaiga => 0.25f32,
            Self::Taiga => 0.25f32,
            Self::SnowyTaiga => -0.5f32,
            Self::Savanna => 2f32,
            Self::SavannaPlateau => 2f32,
            Self::WindsweptHills => 0.2f32,
            Self::WindsweptGravellyHills => 0.2f32,
            Self::WindsweptForest => 0.2f32,
            Self::WindsweptSavanna => 2f32,
            Self::Jungle => 0.95f32,
            Self::SparseJungle => 0.95f32,
            Self::BambooJungle => 0.95f32,
            Self::Badlands => 2f32,
            Self::ErodedBadlands => 2f32,
            Self::WoodedBadlands => 2f32,
            Self::Meadow => 0.5f32,
            Self::Grove => -0.2f32,
            Self::SnowySlopes => -0.3f32,
            Self::FrozenPeaks => -0.7f32,
            Self::JaggedPeaks => -0.7f32,
            Self::StonyPeaks => 1f32,
            Self::River => 0.5f32,
            Self::FrozenRiver => 0f32,
            Self::Beach => 0.8f32,
            Self::SnowyBeach => 0.05f32,
            Self::StonyShore => 0.2f32,
            Self::WarmOcean => 0.5f32,
            Self::LukewarmOcean => 0.5f32,
            Self::DeepLukewarmOcean => 0.5f32,
            Self::Ocean => 0.5f32,
            Self::DeepOcean => 0.5f32,
            Self::ColdOcean => 0.5f32,
            Self::DeepColdOcean => 0.5f32,
            Self::FrozenOcean => 0f32,
            Self::DeepFrozenOcean => 0.5f32,
            Self::MushroomFields => 0.9f32,
            Self::DripstoneCaves => 0.8f32,
            Self::LushCaves => 0.5f32,
            Self::DeepDark => 0.8f32,
            Self::NetherWastes => 2f32,
            Self::WarpedForest => 2f32,
            Self::CrimsonForest => 2f32,
            Self::SoulSandValley => 2f32,
            Self::BasaltDeltas => 2f32,
            Self::TheEnd => 0.5f32,
            Self::EndHighlands => 0.5f32,
            Self::EndMidlands => 0.5f32,
            Self::SmallEndIslands => 0.5f32,
            Self::EndBarrens => 0.5f32,
        }
    }
    pub const fn downfall(self) -> f32 {
        match self {
            Self::TheVoid => 0.5f32,
            Self::Plains => 0.4f32,
            Self::SunflowerPlains => 0.4f32,
            Self::SnowyPlains => 0.5f32,
            Self::IceSpikes => 0.5f32,
            Self::Desert => 0f32,
            Self::Swamp => 0.9f32,
            Self::MangroveSwamp => 0.9f32,
            Self::Forest => 0.8f32,
            Self::FlowerForest => 0.8f32,
            Self::BirchForest => 0.6f32,
            Self::DarkForest => 0.8f32,
            Self::OldGrowthBirchForest => 0.6f32,
            Self::OldGrowthPineTaiga => 0.8f32,
            Self::OldGrowthSpruceTaiga => 0.8f32,
            Self::Taiga => 0.8f32,
            Self::SnowyTaiga => 0.4f32,
            Self::Savanna => 0f32,
            Self::SavannaPlateau => 0f32,
            Self::WindsweptHills => 0.3f32,
            Self::WindsweptGravellyHills => 0.3f32,
            Self::WindsweptForest => 0.3f32,
            Self::WindsweptSavanna => 0f32,
            Self::Jungle => 0.9f32,
            Self::SparseJungle => 0.8f32,
            Self::BambooJungle => 0.9f32,
            Self::Badlands => 0f32,
            Self::ErodedBadlands => 0f32,
            Self::WoodedBadlands => 0f32,
            Self::Meadow => 0.8f32,
            Self::Grove => 0.8f32,
            Self::SnowySlopes => 0.9f32,
            Self::FrozenPeaks => 0.9f32,
            Self::JaggedPeaks => 0.9f32,
            Self::StonyPeaks => 0.3f32,
            Self::River => 0.5f32,
            Self::FrozenRiver => 0.5f32,
            Self::Beach => 0.4f32,
            Self::SnowyBeach => 0.3f32,
            Self::StonyShore => 0.3f32,
            Self::WarmOcean => 0.5f32,
            Self::LukewarmOcean => 0.5f32,
            Self::DeepLukewarmOcean => 0.5f32,
            Self::Ocean => 0.5f32,
            Self::DeepOcean => 0.5f32,
            Self::ColdOcean => 0.5f32,
            Self::DeepColdOcean => 0.5f32,
            Self::FrozenOcean => 0.5f32,
            Self::DeepFrozenOcean => 0.5f32,
            Self::MushroomFields => 1f32,
            Self::DripstoneCaves => 0.4f32,
            Self::LushCaves => 0.5f32,
            Self::DeepDark => 0.4f32,
            Self::NetherWastes => 0f32,
            Self::WarpedForest => 0f32,
            Self::CrimsonForest => 0f32,
            Self::SoulSandValley => 0f32,
            Self::BasaltDeltas => 0f32,
            Self::TheEnd => 0.5f32,
            Self::EndHighlands => 0.5f32,
            Self::EndMidlands => 0.5f32,
            Self::SmallEndIslands => 0.5f32,
            Self::EndBarrens => 0.5f32,
        }
    }
}

@TerminatorNL TerminatorNL requested a review from rj00a October 24, 2022 20:27
@TerminatorNL
Copy link
Contributor Author

This will be moved into the valence_anvil crate.

@TerminatorNL TerminatorNL marked this pull request as draft October 24, 2022 21:49
@rj00a
Copy link
Member

rj00a commented Nov 3, 2022

Closing this because of #145

@rj00a rj00a closed this Nov 3, 2022
@TerminatorNL TerminatorNL deleted the biome-parsing branch December 10, 2022 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants